package com.customer.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nameless.entity.Client;
import com.nameless.entity.IntegrationHistory;
import com.nameless.vo.IntegrationHistoryVo;
import com.nameless.vo.Result;

import java.util.List;
import java.util.Map;

/**
 * -*- coding:utf-8 -*-
 *
 * @author 太阳偷渡青山
 * @software IntelliJ IDEA
 * @date 2023/03/04 15:10
 * @Description
 */
public interface IntegrationHistoryService extends IService<IntegrationHistory> {
    /**
     * 获得最初历史
     *
     * @return {@link Client}
     */
    Client getInitialHistory();

    /**
     * 创建氪金
     *
     * @param amount 量
     * @param status 状态
     * @return {@link Result}<{@link Map}<{@link String}, {@link Object}>>
     */
    Result<Map<String, Object>> createKryptonGold(String amount,Integer status);

    /**
     * 查询支付状态
     *
     * @param orderNo 订单没有
     * @param status  状态
     * @return {@link Result}<{@link String}>
     */
    Result<String> queryPayStatus(String orderNo,Integer status);

    /**
     * 被客户机id列表
     *
     * @return {@link List}<{@link IntegrationHistory}>
     */
    List<IntegrationHistory> getListByClientId();

    /**
     * 支付本地
     *
     * @param orderNo 订单没有
     * @return {@link Result}<{@link Map}<{@link String}, {@link Object}>>
     */
    Result<Map<String, Object>> payNative(String orderNo,Integer status);

    /**
     * 支付汽车
     *
     * @param integrationHistoryVo 集成历史签证官
     * @return {@link String}
     */
    String payCar(IntegrationHistoryVo integrationHistoryVo);

    /**
     * 支付汽车成功
     *
     * @param orderNo 订单没有
     * @return {@link String}
     */
    boolean payCarSuccess(String orderNo);

    /**
     * 取消付款
     *
     * @param orderNo 订单没有
     * @param status  状态
     * @return {@link Result}<{@link String}>
     */
    Result<String> cancelPayment(String orderNo);
}
